/**
 * 
 */
package tests;


import static org.junit.Assert.*;

import org.junit.Before;
import org.junit.Test;

import desa.Movimiento;
import desa.Posicion;

public class MovimientoTest {
	Posicion posicion;
	Movimiento movimiento;
	
	@Before
	public void setUp() throws Exception {
		posicion = new Posicion(0, 0);
		movimiento = new Movimiento(posicion, 4);
	}
	
	@Test
	public void testDerecha() {
		posicion = movimiento.derecha(posicion);
		posicion = movimiento.derecha(posicion);
		
		assertTrue(posicion.getX() == 8);
		assertTrue(posicion.getY() == 0);
	}
	
	@Test
	public void testAbajo() {
		posicion = movimiento.abajo(posicion);
		assertTrue(posicion.getX() == 0);
		assertTrue(posicion.getY() == -4);
	}
	
	@Test
	public void testVariasDirecciones() {
		posicion = movimiento.derecha(posicion);
		posicion = movimiento.derecha(posicion);
		posicion = movimiento.arriba(posicion);
		posicion = movimiento.arriba(posicion);
		posicion = movimiento.arriba(posicion);
		posicion = movimiento.izquierda(posicion);
		posicion = movimiento.abajo(posicion);
		posicion = movimiento.abajo(posicion);
		
		assertTrue(posicion.getX() == 4);
		assertTrue(posicion.getY() == 4);
	}
}
